From b351f0bb27896725b2f79930baf3faae4aabcefd Mon Sep 17 00:00:00 2001 From: "awilliam@xenbuild.aw" Date: Fri, 14 Apr 2006 14:21:54 -0600 Subject: [PATCH] [IA64] vmx_vcpu_set_rr: check rid validity Signed-off-by: Tristan Gingold --- xen/arch/ia64/vmx/vmx_vcpu.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xen/arch/ia64/vmx/vmx_vcpu.c b/xen/arch/ia64/vmx/vmx_vcpu.c index 1a2ac05006..089a4fbfcd 100644 --- a/xen/arch/ia64/vmx/vmx_vcpu.c +++ b/xen/arch/ia64/vmx/vmx_vcpu.c @@ -210,8 +210,11 @@ IA64FAULT vmx_vcpu_set_rr(VCPU *vcpu, UINT64 reg, UINT64 val) ia64_rr oldrr,newrr; thash_cb_t *hcb; extern void * pal_vaddr; + vcpu_get_rr(vcpu, reg, &oldrr.rrval); newrr.rrval=val; + if (newrr.rid >= (1 << vcpu->domain->arch.rid_bits)) + panic_domain (NULL, "use of invalid rid %lx\n", newrr.rid); if(oldrr.ps!=newrr.ps){ hcb = vmx_vcpu_get_vtlb(vcpu); thash_purge_all(hcb); -- 2.30.2